package com.jyw.business.de.domain.vo.web;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyw.common.annotation.Conversion;
import com.jyw.common.annotation.Excel;
import com.jyw.common.constant.SysDictTypeConstant;
import com.jyw.common.enums.ConversionType;
import com.jyw.system.domain.vo.SimpleFileVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldNameConstants;

import java.util.Date;
import java.util.List;

@Data
@ApiModel("需求池分页查询返回实体")
@FieldNameConstants
public class DemandInfoPageVO {

    /** 主键 */
    @ApiModelProperty("主键")
    private Long id;

    /** 需求编码 */
    @ApiModelProperty("需求编码")
    private String demandCode;

    /** 需求标题 */
    @ApiModelProperty("需求标题")
    private String demandTitle;

    /** 需求类型 */
    @ApiModelProperty("需求类型")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.DE_DEMAND_TYPE)
    private String demandType;

    @ApiModelProperty("需求类型名称")
    private String demandTypeToName;

    /** 需求描述 */
    @ApiModelProperty("需求描述")
    private String demandRemark;

    @ApiModelProperty("附件")
    private String demandEnclosure;

    /** 附件 */
    @ApiModelProperty("附件")
    private List<SimpleFileVo> demandEnclosureList;

    /** 状态 */
    @ApiModelProperty("状态")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.DE_DEMAND_STATE)
    private String demandState;

    /** 状态 */
    @ApiModelProperty("状态标签")
    private String demandStateToName;

    /** 需求负责人 */
    @ApiModelProperty("需求负责人")
    @Conversion(value = ConversionType.USER,name = Fields.demandUserName)
    private Long demandUser;

    @ApiModelProperty("需求负责人名称")
    private String demandUserName;

    /** 需求进度(整数0-100) */
    @ApiModelProperty("需求进度(整数0-100)")
    private Integer demandProcess;

    /** 提出日期 */
    @ApiModelProperty("提出日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date submitDate;

    @ApiModelProperty("创建人id")
    private Long createUser;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    @ApiModelProperty("是否坐席人员")
    private Boolean serverDesk;

    @ApiModelProperty("是否被分配人")
    private Boolean allocationUser;
}
